package subscription

import (
	"context"
	subscriptionDto "git.mycaigou.com/gfyx/micro-gfyx-api/infrastructure/dto/subscription_dto"
	businessOpportunityPb "git.mycaigou.com/gfyx/micro-gfyx-api/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/business_opportunity"
)

type SubscriptionRepositoryIface interface {
	GetRadarSubscriptionConfig(ctx context.Context, request *businessOpportunityPb.GetRadarSubscriptionConfigRequest) (*businessOpportunityPb.GetRadarSubscriptionConfigResponse, error)
	SaveRadarSubscriptionConfig(ctx context.Context, request *businessOpportunityPb.SaveRadarSubscriptionConfigRequest) (*businessOpportunityPb.SaveRadarSubscriptionConfigResponse, error)
	GetSubscriptionPushConfig(ctx context.Context, request *businessOpportunityPb.GetSubscriptionPushConfigRequest) (*businessOpportunityPb.GetSubscriptionPushConfigResponse, error)
	SaveSubscriptionPushConfig(ctx context.Context, request *businessOpportunityPb.SaveSubscriptionPushConfigRequest) (*businessOpportunityPb.SaveSubscriptionPushConfigResponse, error)
	GetWxQrCode(ctx context.Context, request *businessOpportunityPb.GetWxQrCodeRequest) (*businessOpportunityPb.GetWxQrCodeResponse, error)
	GetBindStatus(ctx context.Context, request *businessOpportunityPb.GetBindStatusRequest) (*businessOpportunityPb.GetBindStatusResponse, error)
	ApplyCron(ctx context.Context, params *subscriptionDto.EmptyRequest) (interface{}, error)

	// GetRadarList 获取省市雷达列表
	GetRadarList(ctx context.Context, request *businessOpportunityPb.GetRadarListRequest) (*businessOpportunityPb.GetRadarListResponse, error)
	GetRadarPreCount(ctx context.Context, request *businessOpportunityPb.GetRadarPreCountRequest) (*businessOpportunityPb.GetRadarPreCountResponse, error)
}
